#ifndef METAMODEL_HEADER
#define METAMODEL_HEADER

#include "def.hpp"
#include "topicmodel.hpp"
#include "generator.hpp"
#include "estimator.hpp"

ModelFunc getModel(){
  // start run model                                                                                                                                                               
  ModelFunc Model = NULL;

  if(PuzaDEF::Instance()->currentModelType == MODEL_TOPICMODEL){
    Model = &TopicModel;
  }
  else if(PuzaDEF::Instance()->currentModelType == MODEL_GENERATOR){
    Model = &Generator;
  }
  else if(PuzaDEF::Instance()->currentModelType == MODEL_ESTIMATOR){
    Model = &Estimator;
  }

  return Model;  
}

#endif
